﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Xml.Serialization;

namespace Weather.BLL.Entity
{


    [XmlRoot("weixin")]
    public class Weixin
    {
        [XmlAttribute("menu")]
        public string Menu { get; set; }
        [XmlElement("title")]
        public string Title { get; set; }
        [XmlElement("image")]
        public string Image { get; set; }
        [XmlArray("content")]
        [XmlArrayItem("station")]
        public Station[] Content { get; set; }
        [XmlElement("rnewtime")]
        public string Rnewtime { get; set; }

        public Weixin()
        {
            Menu = string.Empty;
            Title = string.Empty;
            Image = string.Empty;
        }
    }

    [XmlRoot("station")]
    public class Station
    {
        [XmlAttribute("high")]
        public string High { get; set; }
        [XmlAttribute("lat")]
        public string Lat { get; set; }
        [XmlAttribute("lon")]
        public string Lon { get; set; }
        [XmlAttribute("name")]
        public string Name { get; set; }
        [XmlAttribute("id")]
        public string Id { get; set; }
        [XmlElement("change")]
        public Change Change { get; set; }
    }

    [XmlRoot("change")]
    public class Change
    {
        [XmlAttribute("rain")]
        public string Rain { get; set; }
        [XmlAttribute("ff")]
        public string Ff { get; set; }
        [XmlAttribute("fd")]
        public string Fd { get; set; }
        [XmlAttribute("temp")]
        public string Temp { get; set; }
        [XmlAttribute("visibility")]
        public string Visibility { get; set; }
        [XmlAttribute("pm2_5")]
        public string PM2_5 { get; set; }
        [XmlAttribute("pm10")]
        public string PM10 { get; set; }
        /// <summary>
        /// 最高温
        /// </summary>
        [XmlAttribute("tmax")]
        public string Tmax { get; set; }
        /// <summary>
        /// 最低温
        /// </summary>
        [XmlAttribute("tmin")]
        public string Tmin { get; set; }
        /// <summary>
        /// 雷电强度
        /// </summary>
        [XmlAttribute("intensity")]
        public string Intensity { get; set; }
    }

    /// <summary>
    /// 实时数据显示
    /// </summary>
    public class WeatherRealTimeData
    {
        /// <summary>
        /// 自动站
        /// </summary>
        public string AreaCode { get; set; }
        /// <summary>
        /// 地区站号
        /// </summary>
        public string StationNum { get; set; }
        /// <summary>
        /// 发布时间点
        /// </summary>
        public long ObservTimes { get; set; }
        /// <summary>
        /// 最大风力
        /// </summary>
        public string ExMaxWindV { get; set; }
        /// <summary>
        /// 雨量
        /// </summary>
        public string Precipitation { get; set; }
        /// <summary>
        /// 温度
        /// </summary>
        public string DryBulTemp { get; set; }

    }

    /// <summary>
    /// 站点天气实况信息
    /// </summary>
    public class WeatherAwsRealTimeInfo
    {
        /// <summary>
        /// 发布时间
        /// </summary>
        public DateTime observtime { get; set; }
        public string areacode { get; set; }
        public string stationnum { get; set; }
        public string stationname { get; set; }
        /// <summary>
        /// 北纬
        /// </summary>
        public string lat { get; set; }
        /// <summary>
        /// 东经
        /// </summary>
        public string lon { get; set; }
        public int t { get; set; }
        public int tmin { get; set; }
        public int tmax { get; set; }
        public int ff { get; set; }
        public int ffmin { get; set; }
        public int ffmax { get; set; }
        public int fd { get; set; }
        public int rain { get; set; }
        public int p { get; set; }
        public int rh { get; set; }
        public int v { get; set; }
    }
    /// <summary>
    /// 环境监测站信息
    /// </summary>
    public class WeatherAqiStationInfo
    {
        /// <summary>
        /// 省市
        /// </summary>
        public string province { get; set; }
        /// <summary>
        /// 地市
        /// </summary>
        public string city { get; set; }
        /// <summary>
        /// 县域
        /// </summary>
        public string county { get; set; }
        /// <summary>
        /// 区域编号
        /// </summary>
        public string areacode { get; set; }
        /// <summary>
        /// 站号
        /// </summary>
        public string stationnum { get; set; }
        /// <summary>
        /// 站名
        /// </summary>
        public string stationname { get; set; }
        /// <summary>
        /// 北纬
        /// </summary>
        public string lat { get; set; }
        /// <summary>
        /// 东经
        /// </summary>
        public string lon { get; set; }
    }
    /// <summary>
    /// 站点环境监测
    /// </summary>
    public class WeatherAqiRealTimeInfo
    {
        public DateTime observtime { get; set; }
        public string areacode { get; set; }
        public string stationnum { get; set; }
        public string stationname { get; set; }
        /// <summary>
        /// 北纬
        /// </summary>
        public string lat { get; set; }
        /// <summary>
        /// 东经
        /// </summary>
        public string lon { get; set; }

        public double Pm1 { get; set; }
        //public double Pm1_Max { get; set; }
        //public double Pm1_Min { get; set; }

        public double Pm25 { get; set; }
        //public double Pm2_5_Max { get; set; }
        //public double Pm2_5_Min { get; set; }

        public double Pm10 { get; set; }
        //public double Pm10_Max { get; set; }
        //public double Pm10_Min { get; set; }
        /// <summary>
        /// 空气质量指数
        /// </summary>
        public double Aqi { get; set; }

        public double SO2 { get; set; }
        public double NO2 { get; set; }
        public double CO { get; set; }
        public double O3 { get; set; }
    }
    /// <summary>
    /// 天文潮汐数据
    /// </summary>
    public class WeatherTideInfo
    {
        public DateTime date { get; set; }
        public string PortName { get; set; }
        public int TH0 { get; set; }
        public int TH1 { get; set; }
        public int TH2 { get; set; }
        public int TH3 { get; set; }
        public int TH4 { get; set; }
        public int TH5 { get; set; }
        public int TH6 { get; set; }
        public int TH7 { get; set; }
        public int TH8 { get; set; }
        public int TH9 { get; set; }
        public int TH10 { get; set; }
        public int TH11 { get; set; }
        public int TH12 { get; set; }
        public int TH13 { get; set; }
        public int TH14 { get; set; }
        public int TH15 { get; set; }
        public int TH16 { get; set; }
        public int TH17 { get; set; }
        public int TH18 { get; set; }
        public int TH19 { get; set; }
        public int TH20 { get; set; }
        public int TH21 { get; set; }
        public int TH22 { get; set; }
        public int TH23 { get; set; }
    }
}